#include "common.h"
class Threadcache
{
private:
	Freelist _freelistarray[nfreelist];
public:
	//申请和释放内存对象
	void* allocate(size_t size);
	void deallocate(void* ptr, size_t size);
	void ListToolong(Freelist& list, size_t size);

	//向中心缓存申请对象
	void* FetchFromCentralCache(size_t index, size_t size);

	
};
static _declspec(thread) Threadcache* pTLSThreadcache = nullptr;//声明declarator为线程局部变量并具有线程存储时限,线程局部存储(TLS)是一种机制，
//在多线程运行环境中，每个线程分配自己的局部数据。在标准多线程程序中，数据是在多个线程间共享的，而TLS是一种为每个线程分配自己局部数据的机制。

//解释一下static的用处：在全局和/或命名空间范围 (在单个文件范围内声明变量或函数时) static 关键字指定变量或函数为内部链接，即外部文件无法引用该变量或函数。
